'''
map函数：会将一个函数映射到一个输入列表的所有元素上。
这是它的规范map(function_to_apply, list_of_inputs)
'''
#方式一
# print(list(map(lambda x:x*x,[1,2,3,4])))

#方式二：
def square(x):
    return x*x
print(list(map(square,[1])))

#方式三：
# def multiply(x):
#     return (x * x)
# def add(x):
#     return (x + x)
# funcs = [multiply, add]
# for i in range(5):
#     value = map(lambda x: x(i), funcs)
#     print(list(value))

#练习题的35题
#使用python内置函数map
def mmm(x):
    return max(x)
def mapmax(nums,k):
    index = 0
    res = []
    for  index in range((len(nums)-k+1)):
       # res.append(list(map(mmm,[nums[index:index+k]]))) [[3], [3], [5], [5], [6], [7], [10]]
       res.append(map(mmm, [nums[index:index + k]]).__next__())#[3, 3, 5, 5, 6, 7, 10]
    return res
res = mapmax([1,3,-1,-3,5,3,6,7,10],3)
print(res)

